Challenge #35: Data Cleansing Practice ~データクレンジングの練習~ – Alteryx Weekly Challenge
こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。
Alteryx Communityで公開されているWeekly Challengeに挑戦するシリーズ。今回はデータクレンジングの練習に挑戦します。
動作環境
当エントリの執筆には、以下の環境を利用しています。
- Windows 10 Pro
- Alteryx Designer 2019.1.4.57073 英語版
Challenge #35: Data Cleansing Practice
お題
今回挑戦するお題はこちら。
1つのワークフローに4問用意されていますので、順番に解いていきます。
初めの0の削除
以下のデータが用意されています。このデータから「1234」の前にある「0」を削除します。
Formulaツールを使用して、新しく「Trimmed」列をInt64型で作成します。
ToNumberを使用して、数値型に変換して出力します。
ToNumber([Field1])
結果を確認して完成です。
初めの0と最後の説明文の削除
以下のデータが用意されています。このデータから「0」と「:Report」を削除します。
Text To Columnsツールで、Delimiters に :
を指定して分割します。
Selectツールで列の名前を回答にあわせて修正します。また、数値が出力されている列をInt64型に変更します。
結果を確認して完成です。
最後にあるIDの削除
以下のデータが用意されています。このデータから最後にある「ID」を削除します。
Formulaツールを使用して新しく「Trimmed」列をV_WString型で作成します。
IIFを使用して、最後の2文字が「ID」の場合に「ID」を削除して出力するように設定します。
IIF(Right([ID],2)="ID", Replace([ID],"ID",""), [ID])
結果を確認して完成です。
コードの修正
以下のデータが用意されています。8文字を超える場合は後ろにある文字列を取り除き、6文字の場合は全面に「SC」を追加します。
Formulaツールを使用して新しく「Fixed」列をV_WString型で作成します。
式は以下のとおり設定しています。
if Length([Safety Code]) == 6 then "SC" + [Safety Code] elseif Length([Safety Code]) > 8 then Left([Safety Code], 8) else [Safety Code] endif
- 「Safety Code」列が6文字の場合は「SC」と「Safety Code」を出力
- 「Safety Code」列が8文字以上の場合は「Safety Code」の左から8文字を出力
- 「Safety Code」列を出力
結果を確認して完成です。
最後に
今回はWeekly ChallengeのChallenge #35: Data Cleansing Practiceに挑戦しました。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。